home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 037a / rmdoor10.zip / RMDOOR.DOC < prev    next >
Text File  |  1991-11-09  |  18KB  |  1,057 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                    RMDoor
  33.                                 Version 1.0
  34.              Copyright (c) 1991 By Mark Goodwin and Randy Hunt
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.      RMDoor                                                          i
  74.  
  75.                               COPYRIGHT NOTICE
  76.                               ----------------
  77.  
  78.      RMDoor  is  a copyrighted  program  being  distributed under  the
  79.      shareware concept.  As such you may use RMDoor for a period of 30
  80.      days  without  registering  the  software.    After  the  30  day
  81.      evaluation period, you must  register your copy of RMDoor  or you
  82.      will be in violation of United States and International copyright
  83.      laws.
  84.  
  85.      As a shareware program, RMDoor may  be freely distributed through
  86.      a BBS.  Shareware distributors may distribute copies of RMDoor on
  87.      disk for  a modest disk duplication  charge not to exceed  $6 per
  88.      disk.
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.      RMDoor                                                         ii
  140.  
  141.                                   WARRANTY
  142.                                   --------
  143.  
  144.      RMDoor  is distributed without warranty.   In no  event will Mark
  145.      Goodwin  or Randy Hunt be  liable to your  for damages, including
  146.      any  loss  of  profits,  lost savings,  or  other  incidental  or
  147.      consequential  damages arising out of your use of or inability to
  148.      use  the program,  even  if  Mark  Goodwin,  Randy  Hunt,  or  an
  149.      authorized representative has been  advised of the possibility of
  150.      such damages.  Mark Goodwin and Randy Hunt will not be liable for
  151.      any such claim by any other party.
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.      RMDoor                                                        iii
  206.  
  207.                              TABLE OF CONTENTS
  208.                              -----------------
  209.  
  210.  
  211.      INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . .   1
  212.  
  213.      USING RMDOOR  . . . . . . . . . . . . . . . . . . . . . . . .   2
  214.  
  215.      RUNNING AN RMDOOR DOOR  . . . . . . . . . . . . . . . . . . .   3
  216.  
  217.      SPECIAL KEYS  . . . . . . . . . . . . . . . . . . . . . . . .   4
  218.  
  219.      THE RMDOOR VARIABLES  . . . . . . . . . . . . . . . . . . . .   5
  220.           ansicolor  . . . . . . . . . . . . . . . . . . . . . . .   5
  221.           baudrate . . . . . . . . . . . . . . . . . . . . . . . .   5
  222.           bbsname  . . . . . . . . . . . . . . . . . . . . . . . .   5
  223.           callingfrom  . . . . . . . . . . . . . . . . . . . . . .   5
  224.           doorname . . . . . . . . . . . . . . . . . . . . . . . .   5
  225.           lockedrate . . . . . . . . . . . . . . . . . . . . . . .   5
  226.           minutesleft  . . . . . . . . . . . . . . . . . . . . . .   5
  227.           phonenumber  . . . . . . . . . . . . . . . . . . . . . .   6
  228.           seclevel . . . . . . . . . . . . . . . . . . . . . . . .   6
  229.           sysopname  . . . . . . . . . . . . . . . . . . . . . . .   6
  230.           userfirstname  . . . . . . . . . . . . . . . . . . . . .   6
  231.           username . . . . . . . . . . . . . . . . . . . . . . . .   6
  232.  
  233.      THE RMDOOR PROCEDURES AND FUNCTION  . . . . . . . . . . . . .   7
  234.           rmclrscr . . . . . . . . . . . . . . . . . . . . . . . .   7
  235.           rmdisplayfile  . . . . . . . . . . . . . . . . . . . . .   7
  236.           rmgetbackground  . . . . . . . . . . . . . . . . . . . .   7
  237.           rmgetforeground  . . . . . . . . . . . . . . . . . . . .   7
  238.           rmgotoxy . . . . . . . . . . . . . . . . . . . . . . . .   7
  239.           rmreadi  . . . . . . . . . . . . . . . . . . . . . . . .   7
  240.           rmreadkey  . . . . . . . . . . . . . . . . . . . . . . .   7
  241.           rmreadl  . . . . . . . . . . . . . . . . . . . . . . . .   8
  242.           rmreads  . . . . . . . . . . . . . . . . . . . . . . . .   8
  243.           rmsetcolor . . . . . . . . . . . . . . . . . . . . . . .   8
  244.           rmtimeleft . . . . . . . . . . . . . . . . . . . . . . .   9
  245.           rmtimeon . . . . . . . . . . . . . . . . . . . . . . . .   9
  246.           rmwrite  . . . . . . . . . . . . . . . . . . . . . . . .   9
  247.           rmwritei . . . . . . . . . . . . . . . . . . . . . . . .   9
  248.           rmwritel . . . . . . . . . . . . . . . . . . . . . . . .   9
  249.           rmwriteln  . . . . . . . . . . . . . . . . . . . . . . .   9
  250.           rmwritelni . . . . . . . . . . . . . . . . . . . . . . .   9
  251.           rmwritelnl . . . . . . . . . . . . . . . . . . . . . . .   9
  252.  
  253.      SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  254.  
  255.      REGISTRATION  . . . . . . . . . . . . . . . . . . . . . . . .  12
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.      RMDoor                                                          1
  272.  
  273.                                 INTRODUCTION
  274.                                 ------------
  275.  
  276.      RMDoor is a  comprehensive set of Turbo Pascal  routines designed
  277.      to  enable  programmers to  easily write  doors  for BBSes.   The
  278.      following are some of RMDoor's many features:
  279.  
  280.           Assembly  language  serial  input/output  routines  for
  281.           maximum speed.
  282.  
  283.           Fully supports  high speed modems: 16550 FIFO buffering
  284.           and locked serial ports.
  285.  
  286.           Built  in  ANSI terminal  emulator.   No  need  to have
  287.           ANSI.SYS loaded in memory.
  288.  
  289.           Supports  all  of  the  most  popular  door  data  file
  290.           formats: PCBoard, GAP  (DOOR.SYS), Spitfire,  WildCat!,
  291.           and  RBBS.    Thus,  a  door  built  around  RMDoor  is
  292.           compatible with a wide range of BBS software.
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.      RMDoor                                                          2
  338.  
  339.                                 USING RMDOOR
  340.                                 ------------
  341.  
  342.      Because RMDoor comes  supplied is a  Turbo Pascal unit it  can be
  343.      seamlessly integrated with your  door program by simply including
  344.      the following two lines in your door program:
  345.  
  346.      {$M $4000,0,0}
  347.      uses rmdoor;
  348.  
  349.      The first line is a  {$M} compiler directive and is  necessary to
  350.      enable RMDoor's Drop to DOS function.  If you omit this line from
  351.      your  door program, RMDoor  will not be  able to drop  to DOS and
  352.      will  display an appropriate error  message to the  sysop.  NOTE:
  353.      The  {$M} compiler  directive  also effects  your program's  heap
  354.      space.   Be sure that the final two values are set accordingly if
  355.      you dynamically allocate memory.
  356.  
  357.      The  second line is a "uses" statement and simply instructs Turbo
  358.      Pascal  to  include the  RMDOOR.TPU  unit in  your  compiled door
  359.      program.
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      RMDoor                                                          3
  404.  
  405.                            RUNNING AN RMDOOR DOOR
  406.                            ----------------------
  407.  
  408.      An RMDoor-based door program is run by entering a command similar
  409.      to the following:
  410.       
  411.      door config
  412.  
  413.      In the above command line, "door"  is the name of your door's EXE
  414.      file  and  the  "config" parameter  is  the  name  of the  door's
  415.      configuration file.  The configuration file can have any name the
  416.      sysop chooses, but it  must reside in the  same directory as  the
  417.      door.   The configuration  file is  an ASCII  text file  with the
  418.      following format:
  419.  
  420.      Line 1:   Door data file type.
  421.      Line 2:   Path to the door data file(s).
  422.      Line 3:   BBS name.
  423.      Line 4:   Sysop's name.
  424.      Line 5:   Locked baud rate.
  425.  
  426.      As illustrated above, the  door's data file type is  specified in
  427.      line 1 and can be PCB for PCBoard, GAP for GAP (DOOR.SYS), SF for
  428.      Spitfire, RBBS  for RBBS, or  WC for  WildCat!.  The  locked baud
  429.      rate  is specified  in line  5.   If the  sysop doesn't  lock his
  430.      serial  port, he must specify 0 for  the locked baud rate.  NOTE:
  431.      Although  many door formats do  pass the locked  baud rate in the
  432.      door  data files, some  older formats such  as RBBS do  not.  For
  433.      conformity, RMDoor requires that you specify the locked baud rate
  434.      in line 5 and ignores any value passed in the door data files.
  435.  
  436.      The following is a sample door configuration file:
  437.  
  438.      PCB
  439.      C:\tritel\
  440.      The Lobster Buoy
  441.      Mark Goodwin
  442.      38400
  443.  
  444.      RMDoor can be run locally without a door data file (handy for the
  445.      sysop  to  use  the  door  without  logging on  to  the  BBS)  by
  446.      specifying LOCAL  after the  configuration file parameter  in the
  447.      DOS command line.  RMDoor will request the user to enter his name
  448.      before running the door.
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.      RMDoor                                                          4
  470.  
  471.                                 SPECIAL KEYS
  472.                                 ------------
  473.  
  474.      While a door is running, the sysop can press certain special keys
  475.      to perform  a variety of functions.   The following is  a list of
  476.      the functions that the RMDoor special keys perform:
  477.  
  478.      Key(s)              Function
  479.  
  480.      HOME                Toggles between the user status  window and a
  481.                          help  display that  lists the  RMDoor special
  482.                          keys.
  483.  
  484.      F6                  Takes 5 minutes away from the caller.
  485.  
  486.      F7                  Gives 5 minutes to the caller.
  487.  
  488.      F9                  Quit the  door and  return the caller  to the
  489.                          BBS.
  490.  
  491.      F10                 Enter chat mode.   Pressing the ESC key exits
  492.                          the chat mode.
  493.  
  494.      Alt+D               Drop to DOS.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.      RMDoor                                                          5
  536.  
  537.                             THE RMDOOR VARIABLES
  538.                             --------------------
  539.  
  540.      The following are  the global variables that RMDoor  supplies for
  541.      the door author's convenience:
  542.  
  543.  
  544.      ansicolor : boolean;
  545.  
  546.      The  ansicolor variable is  set to True  for a caller  using ANSI
  547.      color graphics or to False for a monochrome caller.
  548.  
  549.  
  550.      baudrate : longint;
  551.  
  552.      The  baudrate variable holds the caller's baud rate.  This is the
  553.      callers actual  connection rate  and  not the  locked baud  rate.
  554.      NOTE: RMDoor will set baudrate to 0 for local calls.
  555.  
  556.  
  557.      bbsname : string;
  558.  
  559.      The bbsname variable holds the BBS's name.
  560.  
  561.  
  562.      callingfrom : string;
  563.  
  564.      The callingfrom variable holds  the user's city and state.   This
  565.      may not be  supported by all  door formats and  will be set to  a
  566.      null string if not.
  567.  
  568.  
  569.      doorname : string;
  570.  
  571.      The doorname variable  holds the  door's name.   The door's  name
  572.      will be  displayed in the  user status window.   NOTE: It  is the
  573.      door author's responsibility to assign a value to this variable.
  574.  
  575.  
  576.      lockedrate : longint;
  577.  
  578.      The lockedrate variable holds the serial port's locked baud rate,
  579.      if any.
  580.  
  581.  
  582.      minutesleft : integer;
  583.  
  584.      The  minutesleft variable holds the number  of minutes the caller
  585.      had remaining when he entered the door.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.      RMDoor                                                          6
  602.  
  603.  
  604.      phonenumber : string;
  605.  
  606.      The phonenumber variable holds the user's phone number.  This may
  607.      not be supported by  all door formats and  will be set to  a null
  608.      string if not.
  609.  
  610.  
  611.      seclevel : integer;
  612.  
  613.      The seclevel variable holds the caller's security level.
  614.  
  615.  
  616.      sysopname : string;
  617.  
  618.      The sysopname variable holds the sysop's name.
  619.  
  620.  
  621.      userfirstname : string;
  622.  
  623.      The userfirstname variable holds the user's first name.
  624.  
  625.  
  626.      username : string;
  627.  
  628.      The username variable holds the user's name.
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.      RMDoor                                                          7
  668.  
  669.                      THE RMDOOR PROCEDURES AND FUNCTION
  670.                      ----------------------------------
  671.  
  672.      The following is  a explanation of procedures and  functions that
  673.      RMDoor provides:
  674.  
  675.  
  676.      procedure rmclrscr;
  677.  
  678.      The rmclrscr procedure clears both the local and remote displays.
  679.  
  680.  
  681.      procedure rmdisplayfile(filename : string; pause : boolean);
  682.  
  683.      The rmdisplayfile procedure displays a file to both the local and
  684.      the  remote displays.  The  file to be  displayed is specified by
  685.      "filename".   The "pause" parameter specifies whether  or not the
  686.      display is to be paused every 24 lines.
  687.  
  688.  
  689.      function rmgetbackground : integer;
  690.  
  691.      The  rmgetbackground  function  returns  the  current  background
  692.      color.
  693.  
  694.  
  695.      function rmgetforeground : integer;
  696.  
  697.      The  rmgetforeground  function  returns  the  current  foreground
  698.      color.
  699.  
  700.  
  701.      procedure rmgotoxy(x, y : integer);
  702.  
  703.      The rmgotoxy procedure  positions the cursor  for both the  local
  704.      and  remote displays.    The  cursor's  new  column  position  is
  705.      specified  by the  "x"  parameter and  its  new row  position  is
  706.      specified by the "y" parameter.
  707.  
  708.  
  709.      function rmreadi : integer;
  710.  
  711.      The  rmreadi function  returns the  value of  an integer  that is
  712.      entered either locally or remotely.
  713.  
  714.  
  715.      function rmreadkey : char;
  716.  
  717.      The rmreadkey  function waits for either a key to be pressed or a
  718.      character  to come  in through  the serial  port.   As soon  as a
  719.      character is available, its value will be returned by rmreadkey.
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.      RMDoor                                                          8
  734.  
  735.      function rmreadl : longint;
  736.  
  737.      The  rmreadl  function returns  the value  of  a longint  that is
  738.      entered either locally or remotely.
  739.  
  740.  
  741.      function rmreads : string;
  742.  
  743.      The  rmreads function  returns  the value  of  a string  that  is
  744.      entered either locally or remotely.
  745.  
  746.  
  747.      procedure rmsetcolor(f, b : integer);
  748.  
  749.      The  rmsetcolor  procedure sets  the  foreground  color (the  "f"
  750.      parameter) and the background color (the "b"  parameter) for both
  751.      the local and remote displays.  NOTE: The colors will only be set
  752.      if  the caller has ANSI  color graphics enabled.   The foreground
  753.      colors are as follows:
  754.  
  755.            0 - Black
  756.            1 - Blue
  757.            2 - Green
  758.            3 - Cyan
  759.            4 - Red
  760.            5 - Magenta
  761.            6 - Brown
  762.            7 - White
  763.            8 - Dark grey
  764.            9 - Light blue
  765.           10 - Light green
  766.           11 - Light cyan
  767.           12 - Light red
  768.           13 - Light magenta
  769.           14 - Yellow
  770.           15 - Bright white
  771.  
  772.      The background colors are as follows:
  773.  
  774.            0 - Black
  775.            1 - Blue
  776.            2 - Green
  777.            3 - Cyan
  778.            4 - Red
  779.            5 - Magenta
  780.            6 - Brown
  781.            7 - White
  782.            8 - Black with blinking foreground
  783.            9 - Blue with blinking foreground
  784.           10 - Green with blinking foreground
  785.           11 - Cyan with blinking foreground
  786.           12 - Red with blinking foreground
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.      RMDoor                                                          9
  800.  
  801.           13 - Magenta with blinking foreground
  802.           14 - Yellow with blinking foreground
  803.           15 - White with blinking foreground
  804.  
  805.  
  806.      function rmtimeleft : integer;
  807.  
  808.      The rmtimeleft function returns the number of minutes the  caller
  809.      has remaining.
  810.  
  811.  
  812.      function rmtimeon : integer;
  813.  
  814.      The  rmtimeon function  returns the  number of  minutes  that the
  815.      caller has been in the door.
  816.  
  817.  
  818.      procedure rmwrite(s:string);
  819.  
  820.      The  rmwrite  procedure  displays   a  string  both  locally  and
  821.      remotely.
  822.  
  823.  
  824.      procedure rmwritei(i : integer);
  825.  
  826.      The  rmwritei  procedure displays  an  integer  both locally  and
  827.      remotely.
  828.  
  829.  
  830.      procedure rmwritel(l : longint);
  831.  
  832.      The  rmwritel  procedure  displays  a longint  both  locally  and
  833.      remotely.
  834.  
  835.  
  836.      procedure rmwriteln(s:string);
  837.  
  838.      The  rmwriteln  procedure  displays  a string  both  locally  and
  839.      remotely.   After displaying the string, RMDoor will send a CR/LF
  840.      pair to the local and remote displays.
  841.  
  842.  
  843.      procedure rmwritelni(i : integer);
  844.  
  845.      The  rmwritelni procedure  displays an  integer both  locally and
  846.      remotely.  After displaying the integer, RMDoor will send a CR/LF
  847.      pair to the local and remote displays.
  848.  
  849.  
  850.      procedure rmwritelnl(l : longint);
  851.  
  852.      The  rmwritelnl procedure  displays  a longint  both locally  and
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.      RMDoor                                                         10
  866.  
  867.      remotely.  After displaying the longint, RMDoor will send a CR/LF
  868.      pair to the local and remote displays.
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.      RMDoor                                                         11
  932.  
  933.                                   SUPPORT
  934.                                   -------
  935.  
  936.      You  may  obtain assistance  with  a  RMDoor  related problem  by
  937.      calling  either  James Bond's  Hideaway  at  207-942-6575 or  The
  938.      Lobster Buoy at 207-941-0805.
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.      RMDoor                                                         12
  998.  
  999.                                 REGISTRATION
  1000.                                 ------------
  1001.  
  1002.      Registration of RMDoor  is only $25.00.   Please use the  form in
  1003.      the file  REGISTER.TXT.    When you  register  RMDoor,  you  will
  1004.      receive a registered version of the RMDOOR.TPU file on disk.
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.